﻿using Nemerle.Collections;
using Nemerle.Text;
using Nemerle.Utility;

using System;
using System.Collections.Generic;
using System.Linq;

namespace Nemerle2.Compiler
{
  /// <summary>
  /// Description of PCustomAttributeMetadataProvider.
  /// </summary>
  [Record]
  class PCustomAttributeMetadataProvider : ICustomAttribute
  {
    public Attribute : PCustomAttribute.Content;

    #region ICustomAttribute  Members

    public ArgumentValue[argIndex : int] : CustomAttributeValue
    {
      get
      {
        _ = argIndex;
        throw System.NotImplementedException()
      }
    }

    public HasNamedArgument(argName : string) : bool
    {
      _ = argName;
      throw System.NotImplementedException()
    }

    public Name : string { get { throw System.NotImplementedException() } }

    public FullName : string { get { throw System.NotImplementedException() } }

    public NamedArguments : list[string * CustomAttributeValue]
    {
      get
      {
        throw System.NotImplementedException()
      }
    }

    public NamedArgumentValue[argName : string] : CustomAttributeValue
    {
      get
      {
        _ = argName;
        throw System.NotImplementedException()
      }
    }

    public PositionalArgumentCount : int
    {
      get
      {
        throw System.NotImplementedException()
      }
    }

    public PositionalArguments : list[CustomAttributeValue]
    {
      get
      {
        throw System.NotImplementedException()
      }
    }

    public Type : ITypeInfo
    {
      get
      {
        throw System.NotImplementedException()
      }
    }

    #endregion ICustomAttribute  Members

  }
}
